Skip to main content

二维溃坝:固定网格、AMR 与续算

认识初始液柱和自由表面运动。本教程公开展示操作与原始输入信息;运行仍需满足当前软件、模块许可与资源条件。

下载 2.2.0 官方算例包 · 先看使用与核验方法 · 配置参考

核验范围

已核对算例目录及 JSON 可解析性,并根据原包记录整理参数。本次文档更新没有逐例运行真实求解器,也未完成所有算例在新版 UI 中打开、保存和计算的验收;以下“查看与核验”是供复现时执行的步骤。

本组输入与区别​

变体目录学习重点
二维溃坝:固定网格TFluid_CFD/CFD-05-2D_Dam_Break_plane认识初始液柱和自由表面运动
二维溃坝:AMRTFluid_CFD/CFD-05-AMR-2D_Dam_Break比较局部自适应与固定网格
二维溃坝:手动续算TFluid_CFD/CFD-05-2D_Dam_Break-Resart学习完整 CFD 检查点的输入形式

先复现基础输入,再比较变体;不要同时修改求解器、网格和物性来判断单个因素的影响。

1.二维溃坝:固定网格​

输入目录:TFluid_CFD/CFD-05-2D_Dam_Break_plane。学习目标:认识初始液柱和自由表面运动。

先准备文件​

复制该目录的完整输入后,用 Desktop【打开算例】选择副本。Web 用户可按Web 平台操作把该目录内容打成 ZIP 导入,或使用平台已发布的对应样例。

此目录只提供 ModelInfo.json;模型中的几何与状态由配置或外部网格入口定义。打开时仍应检查是否存在未满足的文件引用。

目录内包含的快照、表格和备用配置应按实际引用核对。文件名含 Restart/Initialize/AMR 只是来源名称,以当前 JSON 和界面回显为准。

对照原包参数​

下表直接摘录 2.2.0 包内 ModelInfo.json,不是通用推荐值,也不自动迁移旧配置。

设置字段原始值
求解器Solver.solver_typetwo_phase
网格来源Solver.mesh_sourceTFluid
开始时间(s)Time.start_time0
结束时间(s)Time.end_time0.2
时间控制Time.time_controltime_step
固定/初始时间步(s)Time.time_step0.005
输出间隔(s)Time.write_interval0.1
AMRSolver.AMR0

网格块原始输入​

范围按配置内部单位记录;长方体长度通常以 m 输入。环形等类型按对应字段定义阅读。数量为基础输入,不含运行时 AMR 增长。

块类型范围/几何字段网格数量
1block{"x1":0,"x2":1,"y1":0,"y2":0.02,"z1":0,"z2":1}{"x_number":50,"y_number":1,"z_number":50}

材料与边界的输入检查​

相名只是配置标识,物性按下表和原文件核对,不用名称替换数值。rho、nu 的单位分别为 kg/m³、m²/s。其它模型字段按配置参考阅读。

相序号(从 1 开始)名称rhonu
1water10001e-05
2air11.48e-05

下表列出前 18 个变量边界条目;ID 为原始类型标记,具体下拉名称按该变量与当前版本核对。没有 value 的类型可能通过文件或其它字段定义,仍需查看完整输入。

变量网格边界名类型 ID原始 value
Uwall0[0,0,0]
Utop1[0,0,0]
pwall10
ptop00
phase1wall10
phase1top10
phase2wall10
phase2top10

流体重力输入(m/s²):[0,0,-9.8]。

在新版 UI 中操作​

  1. 在【网格模块】核对网格块、边界名称及局部几何;先保存、检查并预生成网格,确认界面没有报告输入或生成错误。
  2. 在【流体模块 → 控制时间】对照原包参数表核对时段、步长与输出间隔,首次学习不直接增加规模。
  3. 在【初始流体场】逐项显示区域,检查相分数与计算域、结构的交叠。
  4. 核对【变量边界及初始值】,保存并运行;查看实际阶段与日志,再进入【可视化模块】和【后处理模块】。

本例重点:平面定义的初始液体​

原包在【初始流体场】使用平面,平面点为 [0,0,0.7]、方向为 [-0.3714,0,-0.9285]、区域值为 1;不能仅凭“溃坝”名称改成常见的长方体水柱。先在预览检查平面及保留侧,再看最早输出的 alpha1。

流体重力沿 -Z,原包速度壁面为零,顶部压力使用原包条目。依次检查初始液体、向低处运动的前沿和壁面响应。比较 AMR 变体时,保持观察时间与变量一致;手动续算变体另需完整检查点,不能只复制这一份初始场。

查看与核验结果​

检查最早输出的水体位置,再跟踪前沿、壁面与液面变化。选择实际输出变量和时间;未输出的数组不能用其它量代替。先核对最早的有效帧,再观察后续演化。

在【后处理模块】创建与该问题对应的固定位置或对象监测,核对结果集、编号和单位;导出 CSV 时保留缺失原因。对比变体时固定物理时刻、视角与色标,记录网格、时间步及材料设置。没有参考数据时,只能完成现象与数值一致性检查,不能声称已通过定量验证。

2.二维溃坝:AMR​

输入目录:TFluid_CFD/CFD-05-AMR-2D_Dam_Break。学习目标:比较局部自适应与固定网格。

先准备文件​

复制该目录的完整输入后,用 Desktop【打开算例】选择副本。Web 用户可按Web 平台操作把该目录内容打成 ZIP 导入,或使用平台已发布的对应样例。

此目录只提供 ModelInfo.json;模型中的几何与状态由配置或外部网格入口定义。打开时仍应检查是否存在未满足的文件引用。

目录内包含的快照、表格和备用配置应按实际引用核对。文件名含 Restart/Initialize/AMR 只是来源名称,以当前 JSON 和界面回显为准。

对照原包参数​

下表直接摘录 2.2.0 包内 ModelInfo.json,不是通用推荐值,也不自动迁移旧配置。

设置字段原始值
求解器Solver.solver_typetwo_phase
网格来源Solver.mesh_sourceTFluid
开始时间(s)Time.start_time0
结束时间(s)Time.end_time1.6
时间控制Time.time_controltime_step
固定/初始时间步(s)Time.time_step0.0001
输出间隔(s)Time.write_interval0.01
AMRSolver.AMR1

网格块原始输入​

范围按配置内部单位记录;长方体长度通常以 m 输入。环形等类型按对应字段定义阅读。数量为基础输入,不含运行时 AMR 增长。

块类型范围/几何字段网格数量
1block{"x1":0,"x2":1,"y1":0,"y2":0.01,"z1":0,"z2":1}{"x_number":100,"y_number":1,"z_number":100}

材料与边界的输入检查​

相名只是配置标识,物性按下表和原文件核对,不用名称替换数值。rho、nu 的单位分别为 kg/m³、m²/s。其它模型字段按配置参考阅读。

相序号(从 1 开始)名称rhonu
1water10001e-06
2air11.48e-05

下表列出前 18 个变量边界条目;ID 为原始类型标记,具体下拉名称按该变量与当前版本核对。没有 value 的类型可能通过文件或其它字段定义,仍需查看完整输入。

变量网格边界名类型 ID原始 value
Uwall0[0,0,0]
Utop1[0,0,0]
pwall10
ptop00
phase1wall10
phase1top10
phase2wall10
phase2top10

流体重力输入(m/s²):[0,0,-9.8]。

在新版 UI 中操作​

  1. 在【网格模块】核对网格块、边界名称及局部几何;先保存、检查并预生成网格,确认界面没有报告输入或生成错误。
  2. 在【流体模块 → 控制时间】对照原包参数表核对时段、步长与输出间隔,首次学习不直接增加规模。
  3. 在【初始流体场】逐项显示区域,检查相分数与计算域、结构的交叠。
  4. 核对【变量边界及初始值】,保存并运行;查看实际阶段与日志,再进入【可视化模块】和【后处理模块】。

查看与核验结果​

在相同物理时刻比较界面、局部网格及资源占用。选择实际输出变量和时间;未输出的数组不能用其它量代替。先核对最早的有效帧,再观察后续演化。

在【后处理模块】创建与该问题对应的固定位置或对象监测,核对结果集、编号和单位;导出 CSV 时保留缺失原因。对比变体时固定物理时刻、视角与色标,记录网格、时间步及材料设置。没有参考数据时,只能完成现象与数值一致性检查,不能声称已通过定量验证。

3.二维溃坝:手动续算​

输入目录:TFluid_CFD/CFD-05-2D_Dam_Break-Resart。学习目标:学习完整 CFD 检查点的输入形式。

先准备文件​

复制该目录的完整输入后,用 Desktop【打开算例】选择副本。Web 用户可按Web 平台操作把该目录内容打成 ZIP 导入,或使用平台已发布的对应样例。

  • restart/TFluid.vtu
  • restart/TFluidMesh.txt
  • restart/phi.vtu

目录内包含的快照、表格和备用配置应按实际引用核对。文件名含 Restart/Initialize/AMR 只是来源名称,以当前 JSON 和界面回显为准。

对照原包参数​

下表直接摘录 2.2.0 包内 ModelInfo.json,不是通用推荐值,也不自动迁移旧配置。

设置字段原始值
求解器Solver.solver_typetwo_phase
网格来源Solver.mesh_sourceTFluid
开始时间(s)Time.start_time0
结束时间(s)Time.end_time1.6
时间控制Time.time_controltime_step
固定/初始时间步(s)Time.time_step0.0005
输出间隔(s)Time.write_interval0.01
AMRSolver.AMR0
手动续算标记Restart_ID1

网格块原始输入​

范围按配置内部单位记录;长方体长度通常以 m 输入。环形等类型按对应字段定义阅读。数量为基础输入,不含运行时 AMR 增长。

块类型范围/几何字段网格数量
1block{"x1":0,"x2":1,"y1":0,"y2":0.01,"z1":-5,"z2":-4}{"x_number":100,"y_number":1,"z_number":100}

材料与边界的输入检查​

相名只是配置标识,物性按下表和原文件核对,不用名称替换数值。rho、nu 的单位分别为 kg/m³、m²/s。其它模型字段按配置参考阅读。

相序号(从 1 开始)名称rhonu
1water10001e-06
2air11.48e-05

下表列出前 18 个变量边界条目;ID 为原始类型标记,具体下拉名称按该变量与当前版本核对。没有 value 的类型可能通过文件或其它字段定义,仍需查看完整输入。

变量网格边界名类型 ID原始 value
Uwall0[0,0,0]
Utop1[0,0,0]
pwall10
ptop70
phase1wall10
phase1top10
phase2wall10
phase2top10

流体重力输入(m/s²):[0,0,-9.8]。

在新版 UI 中操作​

  1. 在【网格模块】核对网格块、边界名称及局部几何;先保存、检查并预生成网格,确认界面没有报告输入或生成错误。
  2. 在【流体模块 → 控制时间】对照原包参数表核对时段、步长与输出间隔,首次学习不直接增加规模。
  3. 在【初始流体场】逐项显示区域,检查相分数与计算域、结构的交叠。
  4. 核对【变量边界及初始值】,保存并运行;查看实际阶段与日志,再进入【可视化模块】和【后处理模块】。

查看与核验结果​

核对 restart 三个状态文件及原始时刻;能显示结果不代表恢复已验证。选择实际输出变量和时间;未输出的数组不能用其它量代替。先核对最早的有效帧,再观察后续演化。

在【后处理模块】创建与该问题对应的固定位置或对象监测,核对结果集、编号和单位;导出 CSV 时保留缺失原因。对比变体时固定物理时刻、视角与色标,记录网格、时间步及材料设置。没有参考数据时,只能完成现象与数值一致性检查,不能声称已通过定量验证。

常见问题与后续练习​

  • 打开或保存报错:保留原始输入,记录字段与界面错误,对照当前配置参考核对;JSON 可解析不代表当前参数契约及运行条件全部满足。
  • 没有预期结果:检查实际任务阶段、输出文件和时间范围,区分初始化、耦合与续算段。
  • 结果与展示不同:先核对原始数值、关联、坐标及单位,裁剪与色标只影响显示。
  • 继续学习:在独立副本中只改变一个与学习目标有关的参数,比较同一物理时刻和监测量,保留输入与日志。

返回算例目录 · 运行与日志 · 后处理与监测